package park;

public class J17StringMath {

	public static void main(String[] args) {
		
		//String
		//리터럴로 문자열 객체를 만들면 동일한 문자열값이 존재하면 그 값을 사용
		String a = "Hello";
		String b = "java";
		String c = "Hello";
		
		//new 연산자로 문자열 객체를 만들때
		//동일한 문자열값이 존재해도 매번 새로생성
		String d = new String("Hello");
		String e = new String("java");
		String f = new String("java");
		
		System.out.println(System.identityHashCode(a)+"에이");
		System.out.println(System.identityHashCode(b)+"비");
		System.out.println(System.identityHashCode(c)+"씨");
		System.out.println(System.identityHashCode(d)+"디");
		System.out.println(System.identityHashCode(e)+"이");
		System.out.println(System.identityHashCode(f)+"에프");
		
		//String 주요 메서드
		
		//				01234567890123
		String jumin = "123456-1234567";
		//1.charAt : 지정한 위치의 문자하나를 추출
		System.out.println(jumin.charAt(7));
		
		if(jumin.charAt(7)=='1'){	
			System.out.println("당신은 남자");		
		}
		
		//2.subString : 문자열에서 시작위치부터 끝 위치-1 까지의 문자를 추출
		System.out.println(jumin.substring(7));   //7번쨰 이후부터 다출력
		System.out.println(jumin.substring(0,2)); //
		int yourYear = Integer.parseInt(jumin.substring(0, 2));
		System.out.println(14 - yourYear + 1);
	
		//3.length : 문자열 길이 출력
		System.out.println(jumin.length());
		
		//4.split : 문자열을 구분자로 분리해서 배열에 담음 
		//빈칸도 구분자로 쓸수 있음 / 콤마도 가능
		//우편번호 검색할때 써먹음..
		String zipcode = "123-456 서울 광진구 자양동 321-456";
		String[] zip = zipcode.split( " " ); // " " 여기 사이에 빈칸있어야함 그래야지 구분이 가능
		System.out.println(zip[0]);
		System.out.println(zip[1]);
		System.out.println(zip[2]);
		System.out.println(zip[3]);
		System.out.println(zip[4]);
	
		//5.replace : 문자열중 기존 문자열을 새로운 문자열로 교체
		String msg = "사랑해요,Java!";
		msg = msg.replace("Java","HTML5");
		System.out.println(msg);
		
		//6.indexOf : 먼저 나오는 녀석을 카운팅
		
		System.out.println(jumin.indexOf('-')); 
		//우리는 123456- 이기떄문에 7 일꺼라고 생각하지만 컴퓨터는 0123456- 이기때문에 6이라고 값이 뜸 
		
		//7.lastIndexOf : 뒤에 나오는 녀석을 카운팅
		
		System.out.println(jumin.indexOf('6'));		// 앞에있는 6을 위치 찾음
		System.out.println(jumin.lastIndexOf('6')); // 끝에있는 6을 위치 찾음
		
		//Math 주요 메서드
		//1.round : 반올림
		
		System.out.println(Math.round(9.1));
		System.out.println(Math.round(9.7));
		System.out.println(Math.round(-9.1));
		System.out.println(Math.round(-9.7));
		
		//2.ceil : 올림
		
		System.out.println(Math.ceil(9.1));
		System.out.println(Math.ceil(9.7));
		System.out.println(Math.ceil(-9.1));
		System.out.println(Math.ceil(-9.7));
		
		//3.floor : 내림
		
		System.out.println(Math.floor(9.1));
		System.out.println(Math.floor(9.7));
		System.out.println(Math.floor(-9.1));
		System.out.println(Math.floor(-9.7));
		
		
	
	
	}

}

